国外疫情怎么看?——实时新闻获真知
本文作者:孙晓玲
文字编辑:张馨月
导读
国内疫情攻坚战已经过去3个月了,中国人民团结一心,在这场战役中取得伟大胜利,这一切都离不开无数抗疫英雄们的“英勇救疫”,各地复工、复学也指日可待。然而,新冠疫情还在牵动着全球人民的心,近日,国外疫情的大爆发频频登上热搜榜单、居高不下。“道不远人,人无异国”,在疫情中取得胜利的中国向世界各国发出援助,展现大国情怀。截止北京时间2020年3月29日12时13分,国外新型冠状病毒肺炎累计确诊583347例。小编抓取了“百度疫情实时数据报告”中九大“热门”国家(伊朗、韩国、日本、西班牙、英国、意大利、德国、法国和美国)的疫情新闻报道内容,对新闻报道用Stata软件进行了文本分析。
相关代码和数据已放至公众号后台,进入公众号后
回复“疫情新闻”即可获取数据(数据来源网站:https://voice.baidu.com/act/newpneumonia/newpneumonia/?from=osari_pc_1#tab4)
读 取 数 据
将获取的数据读入Stata中,查看数据概貌如图所示,可以看到数据中有如“编辑:某某某”、“来源”类似的字样,为防止其对后续分析结果产生影响,将这样的行删除。
clear all
cd D:\
infix strL v 1-1000 using 国外疫情报道.txt,clear
drop if ustrregexm(v, "来源|编辑")
分 词 实 现
Stata16中调用Python进行数据处理的新功能使众多用户爱不释手,我们的往期推文中也介绍了很多这方面的知识,感兴趣的读者朋友可以翻阅,不做赘述。我们首先调用Python中的jieba模块对“国外疫情报道.txt”文档进行分词,这里使用的jieba分词的精确模式,因为这种模式可以对句子进行精确切分并列出不重复的所有词。分词完毕后将结果写入“分词结果.txt”文档中,并使用shellout命令打开分词结果文档。
clear all
python
import jieba
globnews=[]
with open(r"D:\国外疫情报道.txt",encoding="utf8") as f:
for i in f.readlines():
str=i
globnews.append(str)
with open("分词结果.txt","w",encoding="utf8") as f2:
for unit in globnews:
seg_list = jieba.cut(unit)
for word in seg_list:
f2.write(word+"\n")
end
shellout "分词结果.txt"
结 果 处 理
从结果中可以发现分词后仍然有一些令人不满意的地方,例如标点符号、语气助词、一些我们不需要的单字词等,因此这里需要对停用词进行过滤,去除分词结果中的噪声,为后续分析做铺垫。停用词可以直接在网上下载并根据自己的分析需求进行修改。具体操作如下:
首先读入分词结果,删除单字、删除缺失值,再删除停用词。
clear
infix strL v 1-12000 using 分词结果.txt,clear
rename v keyword
drop if ustrlen(keyword) == 1 // 删除单字
drop if keyword =="" //删除缺失值
compress
keep keyword
preserve
import delimited using 停用词表.txt, clear encoding("utf-8") varname(nonames)
outsheet using 停用词表.txt, replace nonames noquote
levelsof v1, local(keyword)
restore
foreach word in `keyword' {
drop if keyword == "`word'" //删除停用词
}
去除这些干扰词后,对分词的结果进行词频统计。使用duplicates drop命令删除重复值,将词频统计结果按照降序排列,列出词频前10的词。
bysort keyword: gen freq = _N
duplicates drop //去除重复值
gsort -freq
list in 1/10
四、绘制词云图
wordcloud keyword freq using 词云.html, replace size(15 80) range(3840 2160)
shellout 词云.html
从词云图可以看出国外疫情仍处于爆发时期,确诊、死亡信息频频报道。“伊朗”、“美国”、“意大利”、“德国”形式较为严峻,“隔离”、“防控”攻坚战还需继续努力。从图中的数字信息也可以看到,外国疫情大爆发从3月中下旬开始,这个时期的新闻报道增多。疫情无情,人间有爱,一场疫情下全世界的人民惺惺相惜,携手共渡难关,期待疫情早日结束,迎来美丽明天!
NBA球员薪资分析——基于随机森林算法(二)
关于我们
微信公众号“Stata and Python数据分析”分享实用的stata、python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。